package org.aurora.framework.boot.data.common.converter;

import org.aurora.framework.boot.data.common.dataobject.BaseDO;
import org.aurora.framework.boot.domain.Entity;

/**
 * DataConverter
 * <pre>
 * description:
 * create date: 2025-03-22 17:20:12
 * </pre>
 *
 * @author cao.yong
 */
public interface DataConverter<DO extends BaseDO<?>, E extends Entity<?>> {
    /**
     * 数据对象转领域对象
     * @param dataObj 数据对象
     * @return 领域对象
     */
    E convert(DO dataObj);

    /**
     * 领域对象转数据对象
     * @param domainObj 领域对象
     * @return 数据对象
     */
    DO convert(E domainObj);
}
